/* token 在多个地方都需要使用,比如`登出`,`接口`我们把它抽取一下,方便调用,同时避免出错
   写 token 工具函数 1保存 token 2删除 token 3获取 token
   工具类函数一般放在 /src/utils 这个目录下 /src/utils/token.js
   保存 token:saveToken 有参数,无返回值
   删除 removeToken:无参数,无返回值
   获取 getToken:无参数,有返回值
*/
// 注意 注意保存的是对象
// 存: 将 js 值转换为 JSON 字符串 JSON.stringify()
// 读取: 把JSON数据转换为 JavaScript 对象 JSON.parse()

// key 定义为常量 便于调整(根据项目名定义-随便起名)
const key = 'heima-toutiao-token'

// localStorage  刷新浏览器数据还在(关闭还在)
// sessionStorage 关闭消失
// 保存方法是localStorage.setItem('key','value')
// value只能是字符串 将 js 值转换为 JSON 字符串 JSON.stringify()
// 保存token
const saveToken = tokenObj => {
  localStorage.setItem(key, JSON.stringify(tokenObj))
}
// 删除token
const removeToken = () => {
  localStorage.removeItem(key)
}
// 获取token
const getToken = () => {
  // 把JSON数据转换为 JavaScript 对象 JSON.parse()
  return JSON.parse(localStorage.getItem(key))
}

// 暴露出去 由login.vue导入, 所以login.vue可以用到这里面的方法
export { saveToken, removeToken, getToken }
